//---------------------------------------------------------------------------

#ifndef TElementH
#define TElementH

#include "TSetting.h"
#include "TYard.h"
#include "TTrain.h"
#include "TWeather.h"

//---------------------------------------------------------------------------
class TElements
{
private:
	TRetarders Retarders;
	TCtrRetarders CtrRetarders;
	TArresters Arresters;
	TBoosters Boosters;
	TTrackRetarder TrackRetarder;
	TTrackRetarders TrackRetarders;
	TCuts Cuts;
	TWeathers Weathers;
	TProfile Profile;
	TSwitches Switches;
	TCurves Curves;

//	TSeason Season;

//	TSetting Setting;

//	TWeightSensors WeightSensors;
//	TSpeedSensors SpeedSensors;
//	TCircuits Circuits;
//	TControls Controls;

public:
	TProfileList ProfileList;
	TSwitchesList SwitchesList;
	TCurvesList CurvesList;
	TArrestersList ArrestersList;
	TRetardersList RetardersList;
	TCtrRetardersList CtrRetardersList;
	TTrackRetardersList TrackRetardersList;
	TTracksList TracksList;
	TCutsList CutsList;
	TWeathersList WeathersList;
	TSettingList SettingList;
	TWarningMakes StopPointsList, WarningPointsList;

	__fastcall TElements();
	TElements & __fastcall operator = (const TElements & t);
	void __fastcall Import(const TElements & t);
	TProfile __fastcall GetProfile(const TSerialNumbersList SerialNumbers);
	TCurves __fastcall GetCurves(const TSerialNumbersList SerialNumbers);
	TSwitches __fastcall GetSwitches(const TSerialNumbersList SerialNumbers);
	TRetarders __fastcall GetRetarders(const TSerialNumbersList SerialNumbers);
	TCtrRetarders __fastcall GetCtrRetarders(const TSerialNumbersList SerialNumbers);
	TArresters __fastcall GetArresters(const TSerialNumbersList SerialNumbers);
	TTrackRetarders __fastcall GetTrackRetarders(const TSerialNumbersList SerialNumbers);
	TCuts __fastcall GetCuts(const TSerialNumbersList SerialNumbers);
	TWarningMake __fastcall GetWarningMake(const AnsiString SerialNumber);
	float __fastcall GetStopPoint(const AnsiString SerialNumber);
	TWeather __fastcall GetWeather(const AnsiString SerialNumber);
	bool __fastcall Initialize(void);
};

#endif
